package com.xuzhiguang.baidu.pan.sdk.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;

/**
 * @author xuzhiguang
 * @date 2020/6/26 17:51
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@JsonIgnoreProperties(ignoreUnknown = true)
public class BasicCategoryListParams {

    /**
     * 文件类型，1 视频、2 音频、3 图片、4 文档、5 应用、6 其他、7 种子
     */
    private Integer category;

    /**
     * 	目录名称，为空时，parent_path = "/" && recursion = 1
     */
    private String parentPath;

    /**
     * 0 不递归、1 递归，默认0
     */
    private Integer recursion;

    /**
     * 需要的文件格式，多个格式以英文逗号分隔，示例: txt,epub，默认为category下所有格式
     */
    private String ext;

    /**
     * 	查询起点，默认0
     */
    private Integer start;

    /**
     * 查询数目，最大1000，默认1000
     */
    private Integer limit;

    /**
     * 排序字段：time按修改时间排序，name按文件名称排序，size按文件大小排序，默认为time
     */
    private String order;

    /**
     * 1 为降序， 0为升序， 默认 1
     */
    private String desc;

    @Override
    public String toString() {
        return "BasicCategoryListParams{" +
                "category=" + category +
                ", parentPath='" + parentPath + '\'' +
                ", recursion=" + recursion +
                ", ext='" + ext + '\'' +
                ", start=" + start +
                ", limit=" + limit +
                ", order='" + order + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }

    public Integer getCategory() {
        return category;
    }

    public void setCategory(Integer category) {
        this.category = category;
    }

    public String getParentPath() {
        return parentPath;
    }

    public void setParentPath(String parentPath) {
        this.parentPath = parentPath;
    }

    public Integer getRecursion() {
        return recursion;
    }

    public void setRecursion(Integer recursion) {
        this.recursion = recursion;
    }

    public String getExt() {
        return ext;
    }

    public void setExt(String ext) {
        this.ext = ext;
    }

    public Integer getStart() {
        return start;
    }

    public void setStart(Integer start) {
        this.start = start;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public String getOrder() {
        return order;
    }

    public void setOrder(String order) {
        this.order = order;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}
